Soru & Cevap

Activity metodu Çağırma

27.07.2015 - 02:58

Bir java sınıfından mainactivity'deki bir methodu nasıl çağıra bilirim..

(Bir adaptör sınıfım var .. adaptör üzerindeki itemlere tıklanınca mainactivity'de bir methodu çağırmak istiyorum). 

 


((myActivity) context.).myMethod(); 


myActivityx = (myActivity) context;    x.myMethod(position);

bu yöntemleri denedim ama çalışmadı...

231 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-52022-1431540680.jpg
yazilimcikodcu
28.07.2015 - 03:47

//-----------NORMAL JAVA SINIFI----------------------------
public class IlgiliSinifAdi{


 public IlgiliSinifAdi(Activity context) { //Bu şekilde constructor oluşturdum
       
        this.context = context;
    }

    if(context instanceof ActivitySinifAdi{ //Bu kod parçasını ilgili java sınıfı içinde
                        //istediğiniz activty sınıfını çağırmak için yazıyoruz
         ((ActivitySinifAdi) context).cagrilanMethod();
    }

}
//--------------Activity Sınııfı------------------------------------

public class ActivitySinifAdi extends Activity{
@Override
    protected void onCreate(Bundle savedInstanceState) {
        IlgiliSinifAdi a = new IlgiliSinifAdi (ActivitySinifAdi.this);
    }//end onCreate();

     public void cagrilanMethod(){

}//end cagrilanMethod();
}//end class

picture-46518-1428343928.jpg
halitpeker
28.07.2015 - 11:54

MainActivity içindeki metotu public static olarak taımla sonra istersen new yaz cagır ıstersen mainactivity. seklinde cagır 

Örnek : 

Olusturma

public static String XXXX()
    {
    }

 

Çağırma

MainActivity m=new MainActivity();

m.XXXX();

veya

MainActivity .XXXX(); 

ikiside çalışır.


 

 

yazilimcikodcu
28.07.2015 - 03:33
cevap için teşekkür ederim ama methodu static yapmamam lazım... methodun içeriğine uymuyor static olması... çözümü buldum paylaşayım ..MainActivity m=new MainActivity(); yazarak normal class gibi nesne oluşturamıyorsunuz malesef.. Bu şekilde hem bir hata çıkartıyor. Tekrar teşekkür ederim cevap için
Profile picture for user salihyalcin
salihyalcin
28.07.2015 - 11:39

MainActivity'i new leyip oradaki methodu çağırabilirsin. 

Örneğin;

MainActivity mActivity = new MainActivity();
mActivity.myMethod();

Fakat adaptör olunca işin içine setTag ve getTag methodları giriyor. Bunları da araştır bence. 

 

yazilimcikodcu
28.07.2015 - 03:34
MainActivity m=new MainActivity(); yazarak normal class gibi nesne oluşturamıyorsunuz malesef.. Bu şekilde hem bir hata çıkartıyor çözümü paylaşıyorum şimdi.. cevap verdiğiniz için teşekkür ederim